<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<HTML>
<HEAD>

  <TITLE>CS631 -- Advanced Programming in the UNIX Environment</TITLE>
  <STYLE type="text/css">
  body {
  background-color: #FFFFFf;
  }
  </STYLE>
  <STYLE type="text/css">
  li.c1 {list-style: none}
  </STYLE>

</HEAD>

<BODY>
  <TABLE border="1" align="center" cellpadding="15">
    <TR>
      <TD valign="top">
        <H2>CS631 -- Advanced Programming in the UNIX Environment - Fall 2012 - HW#4</H2>

        <H3>HW#4: sws milestone#2</H3>

	<h4>Problem Assignment</h4>

	<p>In this assignment, you will build up your HTTP server with the
 	foundation of HTTP support.  Using your submission from HW#3 and working
	with your team, you will begin to stub out the protocol specific
	components.  Naturally, you will split your functionality into appropriate
	files, at a minimum a file called 'http.c'.</p>

	<p>Your team's Milestone#2 (HW#3 was the first milestone) will:

	<ul>
		<li>correct any shortcomings noted in your HW#3</li>
		<li>add the file 'http.c', which will include the HTTP protocol specific
			functionality</li>
		<li>read input from the client and validate that it follows the HTTP
			specification</li>
		<li>return the correct HTTP code for the following use cases:
			<ul>
				<li>input was a valid HTTP request supported by this server =&gt; 200 OK</li>
				<li>input was a valid HTTP request not supported by this server =&gt; 501
					Not Implemented</li>
				<li>input was a valid HTTP request of an HTTP version not supported by
					this server =&gt; 505 Version Not Supported</li>
				<li>input was an invalid request =&gt; 400 Bad Request</li>
			</ul>
		<li>time out open client connections after a suitable amount of time,
			yielding a 522 Connection Timed Out status</li>
	</ul>

	<h4>Deliverables and Due Date</H4>
	<p>Your team will submit one tar archive named

	<em>HW4-$team.tar</em> (where <em>$team</em> is the name of your team).
	In addition to the mandatory <tt>Makefile</tt> and the source files, you
	will also include a file <tt>GitLog</tt>, which contains the full output
	of the command 'git log'.

	<p>
	The due date for this assignment is 2013-11-25 16:00.  Please
	attach the file to an email sent from your <tt>@stevens.edu</tt>
	email address to <a
	href="mailto:jschauma@stevens.edu?subject=[CS631] HW4">jschauma@stevens.edu</a>
	with a subject of "[CS631] HW4".
	</p>
	<hr>
	[<a href="index.html">Course Website</a>]
</BODY>
</HTML>
